
import '../lib/jquery.js'
import {ajax} from '../utils/ajax.js'
//导入用户名与密码正则校验
import { nameTest, pwdTest } from "../utils/reg.js";

//当表单提交时
$('form').on('submit', async function(e) {
    //阻止默认提交行为
    e.preventDefault();
    //获取参数
    const username = $('.username').val();
    const password = $('.password').val();

    //不能是空串
    if (username == '' || password == '') {
         alert('表单不能为空');
         return
        }
    //用户名格式验证
    if (!nameTest(username)) {
        alert('用户名格式错误');
        return
        } 
    //密码格式验证
    if (!pwdTest(password)){ 
        alert('密码格式错误');
        return
        } 
        try {
            // 发送异步POST请求到服务器的登录接口，传递用户名和密码。
            const response = await ajax.post('/users/login', { username, password });

            // 检查响应码，如果不等于1，表示登录失败。
            const { code, token, user } = response.data;
            if (code !== 1) {
                // 如果登录失败，显示错误信息，并阻止后续代码执行。
                return $('.error').css('display', 'block');
            }

            // 登录成功，将token和用户ID保存到localStorage中。
            localStorage.setItem('token', token);
            localStorage.setItem('uid', user.id);

            // 登录成功后，重定向到主页。
            location.href = './index.html';
        } catch (error) {
            // 捕获并处理请求过程中发生的任何错误，例如网络问题或服务器错误。
            console.error('登录请求失败：', error);
            // 显示错误信息给用户。
            $('.error').text('登录请求失败，请稍后再试。').css('display', 'block');
        }
});